//
// Created by Kazem on 1/1/19.
//

#ifndef PROJECT_SERIAL_BLOCKED_LDL_02_2_H
#define PROJECT_SERIAL_BLOCKED_LDL_02_2_H

#include <cstddef>

namespace nasoq {

/*
 * LDLT with bunch-kaufman pivoting in each supernode
 * Does row reordering after factorization
 */

 bool ldl_left_sn_02_v2(int n, int *c, int *r, double *values,
                        size_t *lC, int *lR, size_t *Li_ptr, double *lValues,
                        double *D,
                        int *blockSet, int supNo, double *timing,
#ifndef PRUNE
                        int *aTree, int *cT, int *rT, int *col2Sup,
#else
   int *prunePtr, int *pruneSet,
#endif
                        int super_max, int col_max, int &nbpivot, int *perm_piv,
                        int *atree_sm,
                        double threshold = 1e-13);
}
#endif //PROJECT_SERIAL_BLOCKED_LDL_02_2_H
